home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / libelf / elf_version.z / elf_version
Encoding:
Text File  |  2002-10-03  |  2.6 KB  |  58 lines

  1. ELF_VERSION(3E)                                      Last changed: 10-13-98
  2.  
  3.  
  4. NNAAMMEE
  5.      eellff__vveerrssiioonn - Coordinate ELF library and application versions
  6.  
  7. SSYYNNOOPPSSIISS
  8.      cccc [_f_l_a_g ...] _f_i_l_e ...  --lleellff [_l_i_b_r_a_r_y ...]
  9.  
  10.      ##iinncclluuddee <<lliibbeellff..hh>>
  11.  
  12.      uunnssiiggnneedd eellff__vveerrssiioonn((uunnssiiggnneedd vveerr));;
  13.  
  14. IIMMPPLLEEMMEENNTTAATTIIOONN
  15.      IRIX systems
  16.  
  17. DDEESSCCRRIIPPTTIIOONN
  18.      As eellff(3E) explains, the program, the library, and an object file have
  19.      independent notions of the latest ELF version.  eellff__vveerrssiioonn lets a
  20.      program determine the ELF library's iinntteerrnnaall vveerrssiioonn.  It further lets
  21.      the program specify what memory types it uses by giving its own
  22.      wwoorrkkiinngg vveerrssiioonn, vveerr, to the library.  Every program that uses the ELF
  23.      library must coordinate versions.
  24.  
  25.      The header file <<lliibbeellff..hh>> supplies the version to the program with
  26.      the macro EEVV__CCUURRRREENNTT.  If the library's internal version (the highest
  27.      version known to the library) is lower than that known by the program
  28.      itself, the library may lack semantic knowledge assumed by the
  29.      program.  Accordingly, eellff__vveerrssiioonn will not accept a working version
  30.      unknown to the library.
  31.  
  32.      Passing vveerr equal to EEVV__NNOONNEE causes eellff__vveerrssiioonn to return the
  33.      library's internal version, without altering the working version.  If
  34.      vveerr is a version known to the library, eellff__vveerrssiioonn returns the
  35.      previous (or initial) working version number.  Otherwise, the working
  36.      version remains unchanged and eellff__vveerrssiioonn returns EEVV__NNOONNEE.
  37.  
  38. NNOOTTEESS
  39.      The working version should be the same for all operations on a
  40.      particular elf descriptor.  Changing the version between operations on
  41.      a descriptor will probably not give the expected results.
  42.  
  43. EEXXAAMMPPLLEESS
  44.      The following excerpt from an application program protects itself from
  45.      using an older library.
  46.  
  47.           if (elf_version(EV_CURRENT) == EV_NONE)
  48.           {
  49.                /* library out of date */
  50.                /* recover from error */
  51.           }
  52.  
  53. SSEEEE AALLSSOO
  54.      eellff(3E), eellff__bbeeggiinn(3E), eellff__xxllaattee(3E)
  55.  
  56.      This man page is available only online.
  57.  
  58.